﻿using FB.Membership.Annotations;
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace FB.Security.FBGLS
{


        public enum Menu : int
        {
            [Description("Client Management")]
            ClientManagement = 110,
            [Description("PreApprove")]
            PreApprove = 210,
            [Description("Investigation")]
            Investigation = 220,
            [Description("Committee")]
            Committee = 230,
            [Description("CommitteeApproval")]
            CommitteeApproval = 250,
            [Description("Letter Of Intent")]
            LetterOfIntent = 310,
            [Description("Bank Approval")]
            BankApproval = 315,
            [Description("Contract")]
            Contract = 320,
            [Description("MoneyAdvance")]
            MoneyAdvance = 330,
            [Description("ReleaseNotice")]
            ReleaseNotice = 340,
            [Description("AdvanceNotice")]
            AdvanceNotice = 350,
            [Description("AdvanceConfirm")]
            AdvanceConfirm = 410,
            [Description("PostLoan")]
            PostLoan = 510,
            [Description("SpecialApproval")]
            SpecialApproval = 610,
            [Description("ViewPermission")]
            ViewPermission = 1010,
            [Description("Report")]
            Report = 2010,
            [Description("Admin")]
            Admin = 3010

        }


        #region Client Management
        [SecurityFlag((int)Menu.ClientManagement)]
        public enum ClientManagement : long
        {
            [Description("檢視")]
            View = 1,
            [Description("修改")]
            Edit = 2,
            [Description("新增")]
            Create = 4
            //[Description("檢視部門資料(舊)")]
            //ViewDept = 8,
            //[Description("檢視全部(舊)")]
            //ViewAll = 16

        }
        #endregion

        #region View Permission
        [SecurityFlag((int)Menu.ViewPermission)]
        public enum ViewPermission : long
        {
            [Description("檢視部門資料")]
            ViewDept = 1,
            [Description("檢視全部")]
            ViewAll = 2,
            [Description("檢視关注")]
            ViewAlert = 4,
            [Description("只檢視非資金業務")]
            ViewNonLoanItem = 8,
            [Description("只檢視貸後項目")]
            ViewPostLoanItem = 16,
            [Description("只檢視資金業務")]
            ViewLoanItemOnly = 32,

        }
        #endregion

        #region Pre-approval Loan
        [SecurityFlag((int)Menu.PreApprove)]
        public enum PreApprove : long
        {
            [Description("檢視")]
            View = 1,
            [Description("修改")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("初審")]
            PreApprove = 8
        }
        #endregion

        #region Investigation Loan
        [SecurityFlag((int)Menu.Investigation)]
        public enum Investigation : long
        {
            [Description("檢視")]
            View = 1,
            [Description("修改")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("設定風控人員")]
            AssignRiskMan = 8,
            [Description("上會批審")]
            Approve = 16,
            [Description("檢視業務報告")]
            AccessABReport = 32,
            [Description("檢視風控報告")]
            AccessRiskReport = 64,
            [Description("檢視資產負責表")]
            ViewBalanceSheet = 128,
            [Description("修改資產負責表")]
            EditBalanceSheet = 256
        }
        #endregion

        #region Committee Loan
        [SecurityFlag((int)Menu.Committee)]
        public enum Committee : long
        {
            [Description("檢視")]
            View = 1,
            [Description("修改")]
            Edit = 2,
            [Description("新增")]
            Create = 4,
            [Description("提交意見")]
            Comment = 8,
            [Description("意見列表")]
            CommentList = 16,
            [Description("檢視審批決策")]
            ViewDecision = 32,
            [Description("編輯審批決策")]
            EditDecision = 64

        }
        #endregion


        #region Committee Approval
        [SecurityFlag((int)Menu.CommitteeApproval)]
        public enum CommitteeApproval : long
        {
            [Description("檢視")]
            View = 1,
            [Description("審批")]
            Approve = 2
        }
        #endregion



        #region LetterOfIntent
        [SecurityFlag((int)Menu.LetterOfIntent)]
        public enum LetterOfIntent : long
        {
            [Description("檢視")]
            View = 1,
            [Description("建立")]
            Create = 2,
            [Description("打印")]
            Print = 4,
            [Description("上傳")]
            Upload = 8,
            [Description("確認财务收费")]
            ConfirmFeeReceive = 16,
            [Description("查看财务收费")]
            ViewFeeReceive = 32

        }
        #endregion


        #region BankApproval
        [SecurityFlag((int)Menu.BankApproval)]
        public enum BankApproval : long
        {
            [Description("檢視")]
            View = 1,
            [Description("上傳")]
            Upload = 2,
        }
        #endregion



        #region Contract
        [SecurityFlag((int)Menu.Contract)]
        public enum Contract : long
        {
            [Description("檢視")]
            View = 1,
            [Description("上傳")]
            Upload = 2
        }
        #endregion

        #region Money Advance
        [SecurityFlag((int)Menu.MoneyAdvance)]
        public enum MoneyAdvance : long
        {
            [Description("檢視")]
            View = 1,
            [Description("上傳")]
            Upload = 2
            
        }
        #endregion

        #region Advance Notice
        [SecurityFlag((int)Menu.AdvanceNotice)]
        public enum AdvanceNotice : long
        {
            [Description("檢視")]
            View = 1,
            [Description("建立")]
            Create = 2,
            [Description("打印")]
            Print = 4,            
        }
        #endregion

        #region Release Notice
        [SecurityFlag((int)Menu.ReleaseNotice)]
        public enum ReleaseNotice : long
        {
            [Description("檢視")]
            View = 1,
            [Description("建立")]
            Create = 2,
            [Description("打印")]
            Print = 4,
        }
        #endregion

        #region Advance Confirm
        [SecurityFlag((int)Menu.AdvanceConfirm)]
        public enum AdvanceConfirm : long
        {
            [Description("檢視")]
            View = 1,
            [Description("建立")]
            Create = 2
        }
        #endregion

        #region Post Loan
        [SecurityFlag((int)Menu.PostLoan)]
        public enum PostLoan : long
        {
            [Description("己放款貸款")]
            PostLoanList = 1,
            [Description("今日應收款項")]
            LoanReceivableList = 2,
            [Description("代偿项目")]
            CompensationLoanList = 4,
            [Description("查看还款计划表")]
            RepayScheduleView = 8,
            [Description("修改还款计划表")]
            RepayScheduleEdit = 16,
            [Description("查看逾期记录")]
            LateScheduleView = 32,
            [Description("修改逾期记录")]
            LateScheduleEdit = 64,
            [Description("已解保项目")]
            CompletedLoanList = 128,
            [Description("查看贷后调查")]
            ViewPostLoanInvestigation = 256,
            [Description("加入贷后调查")]
            EditPostLoanInvestigation = 512,
            [Description("查看催收記錄")]
            ViewCallRecord = 1024,
            [Description("加入催收記錄")]
            EditCallRecord = 2048,
            [Description("設定展期")]
            SetExtendedPeriod = 4096,
            [Description("設定解保")]
            SetCompleted = 4096,
            [Description("確認還款")]
            ConfirmRepayment = 8192

        }
        #endregion

        #region Special Approval
        [SecurityFlag((int)Menu.SpecialApproval)]
        public enum SpecialApproval : long
        {
            [Description("特批客户")]
            ApproveClient = 1,
            [Description("特批项目")]
            ApproveLoan = 2
        }
        #endregion


        #region Admin
        [SecurityFlag((int)Menu.Admin)]
        public enum Admin : long
        {
            [Description("風控管理荟萃")]
            RiskManagementPolicy = 1,
            [Description("监管系统数据")]
            ExportCreditData = 2
        }
        #endregion

        #region Report
        [SecurityFlag((int)Menu.Report)]
        public enum Report : long
        {
            [Description("調查員分數報表")]
            InvestigatorMark = 1,
            [Description("返回比率")]
            ReturnRate = 2,
            [Description("業務員壞帳率")]
            BadDebtRate = 4,
            [Description("逾期報表")]
            LateLoanReport = 8,
            [Description("貸後項目匯總")]
            PostLoanInvestigation = 16,
        }
    #endregion
}
